Supervised Learning

Important:
在开始学习之前,需要选择一个预测函数 H 的 Representation,合理地选择数据的特征(特征的表示是取决于实际的,当然,也可以进行一些处理。这只是为了说明参数的作用:将特征的值修正为影响的统一的值,参与最终贡献),为这些特征选择一些参数并以合理的形式联系它们。

Linear Regression

线性回归算法处理的 H 的形式为一次函数,范围为实数(浮点数)

xRn+1 为输入,表征的是数据的特征,将常数项也包括在内
θRn+1 为参数,表征的是权重
预测函数 hθ(x):=θTx
误差函数 J(θ):=12i=1m(hθ(x(i))y(i))2 ,其中 m 是数据集的大小,上标标识数据序号。该函数用于衡量一组参数 θ 在给定数据集上的表现。

Least Mean Squares

Gradient Descent 属于递归算法

Gradient Descent 中单参数的更新。这个公式的意义是直观的,即以一定的学习速率逆着误差函数 J 的梯度下降。最终会收敛到某个局部最小值。

θj:=θjαθjJ(θ)

在线性回归问题中代入 J(θ) 可以得到对于单个数据点和整个数据集的更新公式

(LMS)θj:=θj+α(y(i)hθ(x(i)))xj(i)θj:=θj+αi=1m(y(i)hθ(x(i)))xj(i)

仍然有直观性,(y(i)hθ(x(i))) 表示使用当前 θ 预测到真实值的差距,xj 表示与 θj 对应的输入,看成参数的权重值

Normal Equation

对线性回归问题直接解出封闭解

计 $$X=\begin{bmatrix}-x^{(1)}- \ -x^{(2)}- \ \cdots \ -x^{(m)}-\end{bmatrix}$$

y=[y(1)y(2)y(m)]

则 $$\begin{aligned}J(\theta) & = \frac12\sum_{i = 1}^m(h_{\theta}(x^{(i)})-y^{(i)})^2 \ & = \frac12(X\theta-\symbfit y)^T(X\theta-\symbfit y)\end{aligned}$$
ΔθJ(θ)=0 可以解出 θ=(XTX)1XTy

Moore–Penrose Inverse 解决最小二乘法在常规逆意义下的无解的情况
wikipedia fandom

Probablistic Interpretation

解释了为什么误差函数 J 选择平方的一种原因(做出一些合理的假设,在这些假设下可以推导出 J 的形式)

那我们可以假设数据集中的数据点满足(注意现实数据已经由数据集数据代替,在学习过程中不需要考虑,我们假定数据集是良好选取的,可以代表现实数据)$$y^{(i)}:=\theta^Tx^{(i)}+\epsilon^{(i)}$$其中 ϵN(0,σ2) ,表征了未被建模的参数和随机噪点,如此假设的合理性来自于中心极限定理。
其中的 θ 是参数。
我们通过计算数据集中输出数据在假设模型中出现的概率来判断 θ 的优劣。如果 θ 是一组优秀的参数,那么数据集中的数据出现的概率就会大,否则就会小。(极大似然估计的直观理解)

进一步地有 $$p(y^{(i)}|x^{(i)};\theta)=\frac1{\sqrt{2\pi}\sigma}\exp(-\frac{(y^{(i)}-\theta^Tx^{(i)})^2}{2\sigma^2})$$假设各组数据相互独立就有$$p(\symbfit y|X;\theta)=\prod_{i=1}^m p({y^{(i)}|x^{(i)};\theta})$$它是 X 的函数,其含义是给定参数 θ,若出现输入 X,得到输出 y 的概率是多少(其中 X,y 都来自数据集)。它一定程度上表征了 θ 在这一组数据上的表现。

将其视为 θ 的函数并记为 L(θ)likelihood,称为 likelihood 而不是 probability 的原因是 θ 并不是随机变量),依据极大似然估计,我们需要最大化 L(θ),也即最大化 l(θ)=logL(θ)log likelihood),通过化简计算变为最小化 J

注意 Jσ 无关。

Locallly weighted linear regression

了解 underfitting 和 overfitting 现象,前者是由于重要的特征没有参与建模,后者是由于过于关注模型的细节噪点

locally weighted linear regression is to fit θ to minimize J(θ,x)iw(i)(y(i)θTx(i))2 where usually the weight is defined as ω(i)=exp((x(i)x)TΣ1(x(i)x)/2τ2) , τ is called bandwidth。注意每一次查询都需要重新学习,因为误差函数为每一个误差项的权值与每一次查询点 x 有关。

locally weighted linear regression 是一个 non-parametric learning algorithm。non-parametric 指的是仍然需要保留整个数据集才能进行查询,而不是只留下参数就能进行查询。

Classification and logistic regression

Logistic Regression

用于解决 binary classification 问题

继续采用和 Linear regression 本质相同的算法,不过 hθ(x)=g(θTx) 套了一层 logistic function / sigmoid function g(z)=1/(1+ez) 。选择如此形式的 g(z) 也是有原因的。

logistic regression 递归的公式 $$\theta_j := \theta_j +\alpha (y^{(i)} - h_\theta(x^{(i)}))x_j^{(i)}$$其推导可以类比 linera regression 中对 J 的推导。不过是离散的( probability mass function)而不是连续的(probability density function),前者的服从的是 Bernoulli 分布,后者服从的是 Normal 分布。
细节:推导过程中为了方便定义了 p(y|x;θ)=(hθ(x))y(1hθ(x)1y) ,对 l(θ) 求导过程中利用了 g(z)=g(z)(1g(z))
logistic regression 和 linear regression 的递归公式的形式如此相似也是有深层原因的

也可以采用另一种推导,利用与 non-linear model 统一的 llogistic:R×{0,1}R0 where llogistic(t,y):=ylog(1+exp(t))+(1y)log(1+exp(t)) 以及链式法则来进行求导。t 称为 logit

Digression: the perceptron learning algorithm

这个算法有一些历史的古板影子。
仅仅采用不同的 g(z)=[z0] 。但实际上与其他的算法十分不同,难以使用概率、最大似然模型来解释

Multi-class classification

整体上采用 k 组独立参数,并使用 softmax 规整化。迭代公式推导见 Multi-class classification

Newton's method for optimizing

l(θ) 应用多元形式的牛顿迭代,此方法称为 Fisher scoring$$\theta := \theta - H^{-1}\nabla_{\theta} \it{l}(\theta)$$
它比 gradient descent 收敛得快,但单次迭代的计算代价更大。

Generalized Linear Models (GLMs)

The exponential family

由一组 η,a(η),b(y),T(y) 决定的具有如下形式的分布$$p(y;\eta) = b(y)\exp(\eta^TT(y) - a(\eta))$$
a(η) is the log partition function, used for normalization

基于如下三个假设,可以构建 GLM: